package impl.agentt.etudiant;

import java.util.ArrayList;

import fr.irit.smac.may.lib.components.controlflow.SequentialDispatcher;
import fr.irit.smac.may.lib.components.controlflow.SequentialDispatcherImpl;

import message.EDTMessage;
import mysticedt.Behaviour;
import mysticedt.UnEtudiant;

/**
 * Cette classe est l'implémentation du composant UnEtudiant.
 *
 * 
 */
public class UnEtudiantImpl extends UnEtudiant{
	
	
	/*****
	 * Ici il n'y a rien à mettre mis à part les methodes make_***
	 * 
	 * Les méthodes perceive decide act dans cette classe ne pourront jamais être applés puisqu'il
	 * n'y a pas de port fourni que ce composant implémente.
	 * 
	 * Voir la classe app.App j'ai mis du commentaire dedans.
	 */
/*	
	private int id;
	private ArrayList<Integer> listIdUE = new ArrayList<Integer>();
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}
	
	public void ajoutUe(int id) {
		this.listIdUE.add(id);
	}

	protected void perceive() {
		/*
		 * S'informe de tous les cours (TD,TP,Cours de la listIDUE)
		 * Decide en consequence
		
	}


	protected void decide() {
		/*
		 * Pour chaque cours (TD,TP,Cours de la listIDUE) on decide de generer un agent presence
		 * Agit en consequence
		
	}


	protected void act() {
		/*
		 * Creation pour chaque cours (TD,TP,Cours de la listIDUE) d'un agent presence
		 * attente du resultat 
		 * modification si necessaire
		
	}
	public void run() {
	}
*/
	

	@Override
	protected SequentialDispatcher<EDTMessage> make_dispatcher() {
		return new SequentialDispatcherImpl<EDTMessage>();
	}

	@Override
	protected Behaviour make_behaviour() {
		return new BehaviourEtuImpl();
	}

}
